// Copyright (c) 2023 Institute of Software, Chinese Academy of Sciences
// Ripple is licensed under Mulan PSL v2.
// You can use this software according to the terms and conditions of the Mulan PSL v2.
// You may obtain a copy of Mulan PSL v2 at:
//          http://license.coscl.org.cn/MulanPSL2
// THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
// EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
// MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.

package ripple.common.entity;

import java.util.Date;
import java.util.UUID;

public class DataMessage extends AbstractMessage {

    private String topic;
    private Data data;

    public String getTopic() {
        return topic;
    }

    public void setTopic(String topic) {
        this.topic = topic;
    }

    public Data getData() {
        return data;
    }

    public void setData(Data data) {
        this.data = data;
    }

    public DataMessage(UUID uuid, String topic, Data data, String towards
            , Date lastUpdate, int lastUpdateServerId) {
        super(uuid, Constants.MQ_MESSAGE, lastUpdate, lastUpdateServerId);
        this.setTopic(topic);
        this.setData(data);
        this.setTowards(towards);
    }
    public DataMessage(UUID uuid, String topic, Data data
            , Date lastUpdate, int lastUpdateServerId) {
        super(uuid, Constants.MQ_MESSAGE, lastUpdate, lastUpdateServerId);
        this.setTopic(topic);
        this.setData(data);
    }

    public DataMessage(String topic, Data data
            , Date lastUpdate, int lastUpdateServerId) {
        this(UUID.randomUUID(), topic, data, lastUpdate, lastUpdateServerId);
    }

}
